iT邦幫忙

2021 iThome 鐵人賽

DAY 22
1
IT管理

邁向時間管理大師之路系列 第 22

作業系統的修課經驗

  • 分享至 

  • xImage
  •  

今天要來分享的是我最喜歡的一門學科 - 作業系統!

進入正題

作業系統是資訊學系中的一門進階課程,內容會涵蓋:

  • 作業系統簡介與常見的類型
  • 中斷、I/O、系統呼叫、OS 結構設計、虛擬機
  • 行程 Process
  • 多執行緒 Multithread Programming
  • 排程 CPU Scheduling
  • 同步問題 Synchronization
  • 死結 Deadlock
  • 記憶體管理 Memory Management
  • 虛擬記憶體 Virtual Memory
  • 檔案系統 File System Interface
  • 檔案系統實作 File System Implementation
  • 輔助儲存系統 Secondary-Storage Systems

作業系統探討的不僅僅是作業系統本身,其中的排程與同步問題都會出現在現今市面上的系統軟體 (多數軟體都借鑑了作業系統的概念與實作)。

第一次接觸

第一次修作業系統已經是大四上學期了,可能因為我大學不是唸資工系的關係,系上教的內容真的非常淺,大概只有:

  • 作業系統簡介與常見的類型
  • 中斷、I/O、系統呼叫
  • 行程 Process
  • 多執行緒 Multithread Programming
  • 排程 CPU Scheduling

所以整學期修完對作業系統這門課並沒有太多的好感。

第二次接觸

出於某些原因 (之後再談),我有了接觸作業系統的需要,所以我將交大 OCW 上的作業系統設計與實作看了一遍。
這門課在交大資工也是出了名的硬課,課程內容在這兩年好像有調整,修課學生要在一學期內在樹梅派上實作:

  • Lab 0: Environment Setup
  • Lab 1 : Hello World
  • Lab 2 : Bootloader
  • Lab 3 : Exception and Interrupt
  • Lab 4 : Multitasking
  • Lab 5 : Virtual memory
  • Lab 6 : Allocator
  • Lab 7 : Virtual File System
  • Lab 8 : File System Meets Hardware

自修這門課對於我撰寫隔壁棚的鐵人賽其實非常有幫助,雖然兩邊的 Target Machine 是完全不一樣的架構,但是不考慮硬體的設定的話,很多觀念也都是通用的。

補充: 在交大 OCW 已經搜尋不到這門課程了,有興趣的朋友可以參考該連結

聽完課程會發現原來自己什麼都不懂,理論跟實際下去設計還是有非常大的差別,網路上也可以找到很多修課學生的心得:

今天的分享就到這邊結束,我們明天見~!


上一篇
CTF 初體驗
下一篇
找個指導教授怎麼這麼難 QQ
系列文
邁向時間管理大師之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言